(0) Obligation:
Runtime Complexity Relative TRS:
The TRS R consists of the following rules:
disj(T) → True
disj(F) → True
conj(Or(o1, o2)) → False
conj(T) → True
conj(F) → True
disj(And(a1, a2)) → conj(And(a1, a2))
disj(Or(t1, t2)) → and(conj(t1), disj(t1))
conj(And(t1, t2)) → and(disj(t1), conj(t1))
bool(T) → True
bool(F) → True
bool(And(a1, a2)) → False
bool(Or(o1, o2)) → False
isConsTerm(T, T) → True
isConsTerm(T, F) → False
isConsTerm(T, And(y1, y2)) → False
isConsTerm(T, Or(x1, x2)) → False
isConsTerm(F, T) → False
isConsTerm(F, F) → True
isConsTerm(F, And(y1, y2)) → False
isConsTerm(F, Or(x1, x2)) → False
isConsTerm(And(a1, a2), T) → False
isConsTerm(And(a1, a2), F) → False
isConsTerm(And(a1, a2), And(y1, y2)) → True
isConsTerm(And(a1, a2), Or(x1, x2)) → False
isConsTerm(Or(o1, o2), T) → False
isConsTerm(Or(o1, o2), F) → False
isConsTerm(Or(o1, o2), And(y1, y2)) → False
isConsTerm(Or(o1, o2), Or(x1, x2)) → True
isOp(T) → False
isOp(F) → False
isOp(And(t1, t2)) → True
isOp(Or(t1, t2)) → True
isAnd(T) → False
isAnd(F) → False
isAnd(And(t1, t2)) → True
isAnd(Or(t1, t2)) → False
getSecond(And(t1, t2)) → t1
getSecond(Or(t1, t2)) → t1
getFirst(And(t1, t2)) → t1
getFirst(Or(t1, t2)) → t1
disjconj(p) → disj(p)
The (relative) TRS S consists of the following rules:
and(False, False) → False
and(True, False) → False
and(False, True) → False
and(True, True) → True
Rewrite Strategy: INNERMOST
(1) DecreasingLoopProof (EQUIVALENT transformation)
The following loop(s) give(s) rise to the lower bound Ω(2n):
The rewrite sequence
disj(And(And(a1430_0, a2431_0), a2)) →+ and(and(disj(a1430_0), conj(a1430_0)), and(disj(a1430_0), conj(a1430_0)))
gives rise to a decreasing loop by considering the right hand sides subterm at position [0,0].
The pumping substitution is [a1430_0 / And(And(a1430_0, a2431_0), a2)].
The result substitution is [ ].
The rewrite sequence
disj(And(And(a1430_0, a2431_0), a2)) →+ and(and(disj(a1430_0), conj(a1430_0)), and(disj(a1430_0), conj(a1430_0)))
gives rise to a decreasing loop by considering the right hand sides subterm at position [1,0].
The pumping substitution is [a1430_0 / And(And(a1430_0, a2431_0), a2)].
The result substitution is [ ].
(2) BOUNDS(2^n, INF)